﻿Imports Negocio
Public Class frmProductosAdmin
    Private Prod As Producto
    Private accion As String = "Nuevo"
    Private Sub frmProductosAdmin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cboTipo.Items.Clear()
        cboTipo2.Items.Clear()
        cboProducto.Items.Clear()

        cboTipo.Items.Add("Comida")
        cboTipo.Items.Add("Bebida")
        cboTipo.Items.Add("Complemento")
        cboTipo2.Items.Add("Bebida")
        cboTipo2.Items.Add("Comida")
        cboTipo2.Items.Add("Complemento")

    End Sub

    
    Private Sub cboTipo_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cboTipo.SelectedIndexChanged
        cboProducto.Items.Clear()
        If cboTipo.SelectedItem = "Comida" Then
            For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                If miGestionProductos.Productos(i).GetType = GetType(Comida) Then
                    cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                End If
            Next
        End If
        If cboTipo.SelectedItem = "Bebida" Then
            For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                If miGestionProductos.Productos(i).GetType = GetType(Bebida) Then
                    cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                End If
            Next
        End If
        If cboTipo.SelectedItem = "Complemento" Then
            For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                If miGestionProductos.Productos(i).GetType = GetType(Complemento) Then
                    cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                End If
            Next
        End If
    End Sub

    Private Sub cboProducto_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cboProducto.SelectedIndexChanged
        For i As Integer = 0 To miGestionProductos.Productos.Count - 1
            If miGestionProductos.Productos(i).Nombre = cboProducto.SelectedItem Then
                txtNombre.Text = miGestionProductos.Productos(i).Nombre
                txtDescripcion.Text = miGestionProductos.Productos(i).Descripcion
                txtPrecio.Text = miGestionProductos.Productos(i).Precio
                If miGestionProductos.Productos(i).Tipo = Producto.tipoproducto.Bebida Then
                    cboTipo2.SelectedIndex = 0
                    Prod = New Producto
                    Prod = miGestionProductos.Productos(i)


                End If
                If miGestionProductos.Productos(i).Tipo = Producto.tipoproducto.Comida Then
                    cboTipo2.SelectedIndex = 1
                    Prod = New Producto
                    Prod = miGestionProductos.Productos(i)

                End If
                If miGestionProductos.Productos(i).Tipo = Producto.tipoproducto.Complemento Then
                    cboTipo2.SelectedIndex = 2
                    Prod = New Producto
                    Prod = miGestionProductos.Productos(i)

                End If

                accion = "Modificar"
                Exit Sub
            End If


        Next
    End Sub

    Private Sub btnNuevo_Click(sender As System.Object, e As System.EventArgs) Handles btnNuevo.Click
        accion = "Nuevo"
        txtDescripcion.Text = ""
        txtNombre.Text = ""
        txtPrecio.Text = ""

    End Sub

    Private Sub btnGuardar_Click(sender As System.Object, e As System.EventArgs) Handles btnGuardar.Click
        If accion = "Nuevo" Then
            Dim mensaje As String
            If cboTipo2.SelectedIndex = 0 Then
                mensaje = miGestionProductos.Añadir(New Bebida(Producto.tipoproducto.Bebida, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))

            End If
            If cboTipo2.SelectedIndex = 1 Then
                mensaje = miGestionProductos.Añadir(New Comida(Producto.tipoproducto.Comida, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))

            End If
            If cboTipo2.SelectedIndex = 2 Then
                mensaje = miGestionProductos.Añadir(New Complemento(Producto.tipoproducto.Complemento, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))

            End If
            If mensaje <> "" Then
                txtDescripcion.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
                MessageBox.Show(mensaje)
                Exit Sub
            Else
                txtDescripcion.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
            End If
            cboProducto.Items.Clear()
            If cboTipo.SelectedItem = "Comida" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Comida) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
            End If
            If cboTipo.SelectedItem = "Bebida" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Bebida) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
            End If
            If cboTipo.SelectedItem = "Complemento" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Complemento) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
                Exit Sub
            End If
        End If

        If accion = "Modificar" Then

            Dim mens As String
            If cboTipo2.SelectedIndex = 0 Then
                mens = miGestionProductos.Modificar(Prod, New Bebida(Producto.tipoproducto.Bebida, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))


            End If
            If cboTipo2.SelectedIndex = 1 Then
                mens = miGestionProductos.Modificar(Prod, New Comida(Producto.tipoproducto.Comida, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))


            End If
            If cboTipo2.SelectedIndex = 2 Then
                mens = miGestionProductos.Modificar(Prod, New Complemento(Producto.tipoproducto.Complemento, txtNombre.Text, txtPrecio.Text, txtDescripcion.Text, ""))


            End If
            If mens <> "" Then
                MessageBox.Show(mens)
                txtDescripcion.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
                cboProducto.Items.Clear()
                If cboTipo.SelectedItem = "Comida" Then
                    For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(i).GetType = GetType(Comida) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                        End If
                    Next
                End If
                If cboTipo.SelectedItem = "Bebida" Then
                    For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(i).GetType = GetType(Bebida) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                        End If
                    Next
                End If
                If cboTipo.SelectedItem = "Complemento" Then
                    For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(i).GetType = GetType(Complemento) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                        End If
                    Next
                End If
            End If
            txtDescripcion.Text = ""
            txtNombre.Text = ""
            txtPrecio.Text = ""
            cboProducto.Items.Clear()
            If cboTipo.SelectedItem = "Comida" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Comida) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
            End If
            If cboTipo.SelectedItem = "Bebida" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Bebida) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
            End If
            If cboTipo.SelectedItem = "Complemento" Then
                For i As Integer = 0 To miGestionProductos.Productos.Count - 1
                    If miGestionProductos.Productos(i).GetType = GetType(Complemento) Then
                        cboProducto.Items.Add(miGestionProductos.Productos(i).Nombre)

                    End If
                Next
            End If
        End If

    End Sub

    Private Sub txtPrecio_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtPrecio.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> (",") Then
            MessageBox.Show("Solo admito dígitos")
            e.KeyChar = ""
        End If
    End Sub

    Private Sub btnEliminar_Click(sender As System.Object, e As System.EventArgs) Handles btnEliminar.Click
        For i As Integer = 0 To miGestionProductos.Productos.Count - 1
            If Prod.Equals(miGestionProductos.Productos(i)) Then

                Dim mens As String = miGestionProductos.Eliminar(Prod)
                If mens <> "" Then
                    MessageBox.Show(mens)
                End If
                txtDescripcion.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
                cboProducto.Items.Clear()
                If cboTipo.SelectedItem = "Comida" Then
                    For h As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(h).GetType = GetType(Comida) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(h).Nombre)

                        End If
                    Next
                End If
                If cboTipo.SelectedItem = "Bebida" Then
                    For k As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(k).GetType = GetType(Bebida) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(k).Nombre)

                        End If
                    Next
                End If
                If cboTipo.SelectedItem = "Complemento" Then
                    For l As Integer = 0 To miGestionProductos.Productos.Count - 1
                        If miGestionProductos.Productos(l).GetType = GetType(Complemento) Then
                            cboProducto.Items.Add(miGestionProductos.Productos(l).Nombre)

                        End If
                    Next
                End If
                Exit For
            End If



        Next

    End Sub
End Class